還記得我們的八天寫的內容嗎?建立神經網路模型的結構時,通常需要三個主要層次:輸入層、至少一層的隱藏層,以及輸出層。
輸入層的神經元數量應該要對應處理的資料特徵數量。每個輸入神經元對應輸入資料的一個特徵或一個屬性。例如,如果要處理的是一張圖片,而每個像素都是一個特徵,如果圖片的大小是 64x64 像素,那麼輸入層應該有 64x64 = 4096 個神經元,每個神經元代表一個像素的值。
那如果我們今天處理的是一個文本文檔,那怎麼辦呢?通常在架構神經網路時我們會將文本中的每個字轉換成一個向量或嵌入,然後將這些向量按照它們在文本中的位置排列起來,以形成一個表示整個文本的矩陣或序列,所以輸入層的神經元數量應該對應相應的維度。
在神經網絡中,輸入層的神經元數量是由問題的特徵數量決定的,在構建神經網路時輸入層神經元的數量要正確對應資料的特徵數,這樣模型才能夠正確處理和學習這些特徵。
密集層,也被稱為全連接層或稠密層,是神經網絡中最常見的一種層。密集層中的每個神經元(或稱為神經元,又稱為節點)都與前一層的每個神經元相連,這樣它接收到前一層的所有輸入,並產生一個輸出。
密集神經網路(Dense Neural Network)它由多個密集層(全連接層)組成,每個神經元都與前一層的每個神經元相連。這意味著資訊可以在不同層之間自由傳遞,每個神經元都受到前一層所有神經元的影響。這邊跟大家做名詞介紹:前向傳播(Feedforward),它是神經網絡的一個重要概念,其實用最簡單的想法可以看下圖的左到右去一層一層的執行。下面我們就來用第九天寫到的是否為垃圾郵件來幫助大家理解,為了不要讓畫面看起來太凌亂,我的線條並沒有全部畫完。這邊設計兩個隱藏層,都用密集層的設計,第一個隱藏層有三個神經元,第二個隱藏層有兩個神經元。輸出層的部分我們設定一個神經元並且用sigmoid激活函數幫助我們判斷是垃圾郵寄的機率(若接近1則表示為垃圾郵件,接近0則不是)
最後雖然我們設定輸出是是否為垃圾郵件,但我們在規劃的時候種類可以不只一個,比如說輸出是銀行郵件、旅遊郵件、釣魚郵件......等